// =====================================================================
// <copyright file="IValidation.cs" author="David R. Guindo">
// 	Copyright (C) 2013. All rights reserved.
// </copyright>
// =====================================================================
// This code is released under the terms of the Apache 2.0 license, 
// http://apache.org/licenses/LICENSE-2.0.html
// =====================================================================

namespace AppBlock.Core.Validations
{
    public interface IValidation : IValidationProperties
    {
        /// <summary>
        ///     Adds the error.
        /// </summary>
        /// <param name="type">The type.</param>
        /// <param name="propertyName">Name of the property.</param>
        /// <param name="description">The description.</param>
        void AddError(ValidationType type, string propertyName, string description);

        /// <summary>
        ///     Adds a warning in the entity.
        /// </summary>
        /// <param name="type">The type.</param>
        /// <param name="propertyName">Name of the property.</param>
        /// <param name="description">The description.</param>
        void AddWarning(ValidationType type, string propertyName, string description);
    }
}